Allow Pino transport to be used as transport #1151
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Intercom conversation, test setup, docs change.
The Pino transport could not be used as a transport (that is, as initialised by
pino.transport()
, but only as a destination, and only in the main thread.This commit makes the Pino transport communicate with the extension directly, which should work from any worker thread -- the assumption being that the extension has been started by the main thread.
This works around the fact that the client cannot be serialised and sent across threads.
This allows for the Pino transport to be used like other transports, and alongside other transports:
The
pino/index.js
file has been added as a convenience to allow for the target to be referred to as@appsignal/nodejs/pino
, which is nicer-looking than the transport's real location insidedist/
.